延續前一篇的I/O輸入輸出,通常也會提及所謂的低階I/O與高階I/O,指的是操作時所使用的層次。
直接與資料來源,或是目的地,如檔案、網路互動。
像是處理byte的InputStream/OutputStream,或是處理character的Reader/Writer,都是低階I/O的核心。
FileInputStream
FileOutputStream
FileReader
FileWriter
高階I/O是建立在低階I/O之上,提供更多功能,也更容易使用,例如緩衝、資料轉換、物件序列化等等。
BufferedReader
BufferedWriter
ObjectInputStream/ObjectOutputStream
DataInputStream/DataOutputStream
兩者相比,低階I/O的效能低,像處理byte或char,一次只能讀/寫一個,但高階I/O可透過緩衝等功能,塊狀方式將數據讀/寫,進而提高效能;同時高階I/O也提供更多的功能,讓一些複雜的操作能變得容易。